Animating and Model Checking B Specifications with Higher-Order Recursive Functions
نویسندگان
چکیده
The B-method [1] is a theory and methodology for formal development of computer systems. It is used in industry in a range of critical domains. In addition to the proof activities it is increasingly being realised that validation of the initial specification is important, as otherwise a correct implementation of an incorrect specification is being developed. This validation can come in the form of animation, e.g., to check that certain functionality is present in the specification. Another useful tool is model checking, whereby the specification can be systematically checked for certain temporal properties. In previous work [2], we have presented the ProB animator and model checker to support those activities. In this work we present two important improvements upon previous work. First, realistic specifications often contain complicated functions. Take the following excerpt of a specification (translated from a Z specification given to us by Anthony Hall):
منابع مشابه
Validating and Animating Higher-Order Recursive Functions in B
ProB is an animation and model checking tool for the B Method, which can deal with many interesting specifications. Some specifications, however, contain complicated functions which cannot be represented explicitly by a tool. We present a scheme with which higher-order recursive functions can be encoded in B, and establish soundness of this scheme. We then describe a symbolic representation for...
متن کاملValidating Z Specifications Using the ProBAnimator and Model Checker
We present the architecture and implementation of the proz tool to validate high-level Z specifications. The tool was integrated into prob, by providing a translation of Z into B and by extending the kernel of prob to accommodate some new syntax and data types. We describe the challenge of going from the tool friendly formalism B to the more specification-oriented formalism Z, and show how many...
متن کاملRapid Visualization of B Specifications containing Higher-Order Recursive Functions
The B-method [1] is a theory and methodology for formal development of computer systems. It is used in industry in a range of critical domains. In addition to the proof activities it is increasingly being realised that validation of the initial specification is important, as otherwise a correct implementation of an incorrect specification is being developed. This validation can come in the form...
متن کاملNODES 09. NOrdic workshop and doctoral symposium on DEpendability and Security, Linköping, Sweden, April 27, 2009
In this paper we present an approach on how executable formal specifications of Network-on-Chip routing schemes can help on deciding efficient placement of processing resources on 3D-integrated systems. We use a routing scheme specified with the B Action Systems formalism and we execute it with the model checking and animating tool ProB in order to obtain traces of operation executions based on...
متن کاملIntegration in PVS: Tables, Types, and Model Checking
We have argued previously that the effectiveness of a verification system derives not only from the power of its individual features for expression and deduction, but from the extent to which these capabilities are integrated: the whole is more than the sum of its parts [20,21]. Here, we illustrate this thesis by describing a simple construct for tabular specifications that was recently added t...
متن کامل